package com.ht.demo.service.mapper.system;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ht.demo.common.pojo.qto.system.SysDictDataQTO;
import com.ht.demo.dao.dao.system.SysDictDataDao;
import com.ht.demo.dao.domain.system.SysDictDataDO;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Author hdengxian
 * @Date 2023/5/24 16:34
 */
@Component
public class SysDictDataMapper extends ServiceImpl<SysDictDataDao, SysDictDataDO> {
    @Resource
    private SysDictDataDao sysDictDataDao;

    public List<SysDictDataDO> selectDictDataByType(String dictType) {
        LambdaQueryWrapper<SysDictDataDO> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(SysDictDataDO::getDictType, dictType);
        return sysDictDataDao.selectList(wrapper);
    }

    public Integer countByTypeAndValue(String dictType, String dictValue) {
        LambdaQueryWrapper<SysDictDataDO> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(SysDictDataDO::getDictType, dictType);
        wrapper.eq(SysDictDataDO::getDictValue, dictValue);
        return sysDictDataDao.selectCount(wrapper);
    }

    public Integer findForPageCount(SysDictDataQTO qto) {
        return sysDictDataDao.findForPageCount(qto);
    }

    public List<SysDictDataDO> findForPage(SysDictDataQTO qto) {
        return sysDictDataDao.findForPage(qto);
    }
}
